package com.feemanage.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.common.validate.add;
import com.common.validate.edit;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * 预警设置表
 */
@Data
@ApiModel("预警设置表")
@TableName("biz_fee_alarm_set")
public class BizFeeAlarmSet extends myBaseEntity {

    private static final long serialVersionUID = 1L;

    /** ID */
    @ApiModelProperty("自增ID")
    @TableId(value = "id",type = IdType.ASSIGN_UUID)
    @NotNull(message = "id不能为空", groups = {edit.class})
    @NotEmpty(message = "id不能为空", groups = {edit.class})
    private String id;

    /** 标题 */
    @ApiModelProperty("标题")
    @NotNull(message = "标题不能为空", groups = {add.class,edit.class})
    private String name;

    /** 项目分类 */
    @ApiModelProperty("项目分类")
    @NotNull(message = "项目分类不能为空", groups = {add.class,edit.class})
    private String projectTypeCode;

    /** 项目分类名称 */
    @ApiModelProperty("项目分类名称")
    @TableField(exist = false)
    private String projectTypeCodeName;

    /** 项目执行周期 */
    @ApiModelProperty("项目执行周期")
    private Long executionCycle;

    /** 预警触发条件：项目执行满 */
    @ApiModelProperty("预警触发条件：项目执行满 ")
    private Long executionMonths;

    /** 经费执行进度小于 */
    @ApiModelProperty("经费执行进度小于")
    private Long executionFee;

    /** 发送方式 */
    @ApiModelProperty("发送方式")
    @NotNull(message = "发送方式不能为空", groups = {add.class,edit.class})
    private String sendMode;

    /** 发送对象 */
    @ApiModelProperty("发送对象")
    private String sendObject;

    /** 内容 */
    @ApiModelProperty("内容")
    @NotNull(message = "内容不能为空", groups = {add.class,edit.class})
    private String sendContent;

}
